package com.canaan.business.domain.basic;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.canaan.common.annotation.Excel;
import com.canaan.common.annotation.TableName;
import com.canaan.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 仓库对象 wms_storehouse
 *
 * @author ruoyi
 * @date 2022-11-29
 */
@TableName("wms_storehouse")
public class WmsStorehouse extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 仓库编号 */
    @Excel(name = "仓库编号")
    private String no;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String name;

    /** 仓库类型编号 */
    @Excel(name = "仓库类型", dictType = "basic_storehouse_type")
    private String typeNo;

    /** 仓库类型名称 */
//    @Excel(name = "仓库类型名称")
    private String typeName;

    /** 角色编号 */
//    @Excel(name = "角色编号")
    private String roleNo;

    /** 是否线边仓 */
    @Excel(name = "是否线边仓", dictType = "sys_yes_no")
    private String isLine;

    /** 是否是虚拟仓 */
    @Excel(name = "是否是虚拟仓", dictType = "sys_yes_no")
    private String isVirtual;

    /** 状态 */
//    @Excel(name = "状态")
    private String status;

    /** 外部编号 */
//    @Excel(name = "外部编号")
    private String outerNo;

    /** 是否是自定义 */
//    @Excel(name = "是否是自定义")
    private String isCustom;

    /** 是否参与领料 */
//    @Excel(name = "是否参与领料")
    private String isPicking;

    /** 是否参与发货 */
//    @Excel(name = "是否参与发货")
    private String isShip;

    /** 是否其他出库 */
//    @Excel(name = "是否其他出库")
    private String isOtherOut;

    /** 是否参与调拨出库 */
//    @Excel(name = "是否参与调拨出库")
    private String isAllocation;

    /** 是否参与报废 */
//    @Excel(name = "是否参与报废")
    private String isScrap;

    /** 是否参与盘库 */
//    @Excel(name = "是否参与盘库")
    private String isInventory;

    /** 能否移库 */
//    @Excel(name = "能否移库")
    private String isMove;

    /** 能否打包 */
//    @Excel(name = "能否打包")
    private String isPack;

    /** 是否删除：1是 0否 */
    private String delFlag;

    /** 排序 */
//    @Excel(name = "排序")
    private Integer sort;

    /** 是否是vos取样 */
//    @Excel(name = "是否是vos取样")
    private String isVosOutbound;

    /** 是否vos退料 */
//    @Excel(name = "是否vos退料")
    private String isVosReturn;

    /** 是否参与vos领料 */
//    @Excel(name = "是否参与vos领料")
    private String isVosPicking;

    /** 是否参与vos配料 */
//    @Excel(name = "是否参与vos配料")
    private String isVosRigout;

    /** 仓库功能权限名称*/
    @Excel(name = "仓库功能权限")
    private String permissionName;

    /** 仓库功能权限编号*/
    private String permissionNo;

    @Excel(name = "工厂代码")
    private String factoryNo;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 创建人名称 */
    @Excel(name = "创建人", type = Excel.Type.EXPORT)
    private String createBy;

    /** 创建时间 */
    @Excel(name = "创建时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;


    /** 最后更新人名称 */
    @Excel(name = "最后更新人", type = Excel.Type.EXPORT)
    private String updateBy;

    /** 更新时间 */
    @Excel(name = "最后更新时间", type = Excel.Type.EXPORT, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 类型列表 */
    List<String> notTypeNoList;

    public List<String> getNotTypeNoList() {
        return notTypeNoList;
    }

    public void setNotTypeNoList(List<String> notTypeNoList) {
        this.notTypeNoList = notTypeNoList;
    }

    public String getFactoryNo() {
        return factoryNo;
    }

    public void setFactoryNo(String factoryNo) {
        this.factoryNo = factoryNo;
    }

    public String getPermissionNo() {
        return permissionNo;
    }

    public void setPermissionNo(String permissionNo) {
        this.permissionNo = permissionNo;
    }

    public String getPermissionName() {
        return permissionName;
    }

    public void setPermissionName(String permissionName) {
        this.permissionName = permissionName;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setNo(String no)
    {
        this.no = no;
    }

    public String getNo()
    {
        return no;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setTypeNo(String typeNo)
    {
        this.typeNo = typeNo;
    }

    public String getTypeNo()
    {
        return typeNo;
    }
    public void setTypeName(String typeName)
    {
        this.typeName = typeName;
    }

    public String getTypeName()
    {
        return typeName;
    }
    public void setRoleNo(String roleNo)
    {
        this.roleNo = roleNo;
    }

    public String getRoleNo()
    {
        return roleNo;
    }
    public void setIsLine(String isLine)
    {
        this.isLine = isLine;
    }

    public String getIsLine()
    {
        return isLine;
    }
    public void setIsVirtual(String isVirtual)
    {
        this.isVirtual = isVirtual;
    }

    public String getIsVirtual()
    {
        return isVirtual;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setOuterNo(String outerNo)
    {
        this.outerNo = outerNo;
    }

    public String getOuterNo()
    {
        return outerNo;
    }
    public void setIsCustom(String isCustom)
    {
        this.isCustom = isCustom;
    }

    public String getIsCustom()
    {
        return isCustom;
    }
    public void setIsPicking(String isPicking)
    {
        this.isPicking = isPicking;
    }

    public String getIsPicking()
    {
        return isPicking;
    }
    public void setIsShip(String isShip)
    {
        this.isShip = isShip;
    }

    public String getIsShip()
    {
        return isShip;
    }
    public void setIsOtherOut(String isOtherOut)
    {
        this.isOtherOut = isOtherOut;
    }

    public String getIsOtherOut()
    {
        return isOtherOut;
    }
    public void setIsAllocation(String isAllocation)
    {
        this.isAllocation = isAllocation;
    }

    public String getIsAllocation()
    {
        return isAllocation;
    }
    public void setIsScrap(String isScrap)
    {
        this.isScrap = isScrap;
    }

    public String getIsScrap()
    {
        return isScrap;
    }
    public void setIsInventory(String isInventory)
    {
        this.isInventory = isInventory;
    }

    public String getIsInventory()
    {
        return isInventory;
    }
    public void setIsMove(String isMove)
    {
        this.isMove = isMove;
    }

    public String getIsMove()
    {
        return isMove;
    }
    public void setIsPack(String isPack)
    {
        this.isPack = isPack;
    }

    public String getIsPack()
    {
        return isPack;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setSort(Integer sort)
    {
        this.sort = sort;
    }

    public Integer getSort()
    {
        return sort;
    }
    public void setIsVosOutbound(String isVosOutbound)
    {
        this.isVosOutbound = isVosOutbound;
    }

    public String getIsVosOutbound()
    {
        return isVosOutbound;
    }
    public void setIsVosReturn(String isVosReturn)
    {
        this.isVosReturn = isVosReturn;
    }

    public String getIsVosReturn()
    {
        return isVosReturn;
    }
    public void setIsVosPicking(String isVosPicking)
    {
        this.isVosPicking = isVosPicking;
    }

    public String getIsVosPicking()
    {
        return isVosPicking;
    }
    public void setIsVosRigout(String isVosRigout)
    {
        this.isVosRigout = isVosRigout;
    }

    public String getIsVosRigout()
    {
        return isVosRigout;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String getCreateBy() {
        return createBy;
    }

    @Override
    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    @Override
    public String getUpdateBy() {
        return updateBy;
    }

    @Override
    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("no", getNo())
            .append("name", getName())
            .append("typeNo", getTypeNo())
            .append("typeName", getTypeName())
            .append("roleNo", getRoleNo())
            .append("isLine", getIsLine())
            .append("isVirtual", getIsVirtual())
            .append("status", getStatus())
            .append("outerNo", getOuterNo())
            .append("remark", getRemark())
            .append("isCustom", getIsCustom())
            .append("isPicking", getIsPicking())
            .append("isShip", getIsShip())
            .append("isOtherOut", getIsOtherOut())
            .append("isAllocation", getIsAllocation())
            .append("isScrap", getIsScrap())
            .append("isInventory", getIsInventory())
            .append("isMove", getIsMove())
            .append("isPack", getIsPack())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("createTime", getCreateTime())
            .append("sort", getSort())
            .append("isVosOutbound", getIsVosOutbound())
            .append("isVosReturn", getIsVosReturn())
            .append("isVosPicking", getIsVosPicking())
            .append("isVosRigout", getIsVosRigout())
            .toString();
    }

    private List<Long> ids;

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }
}
